unit fprodutorcadastro;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  DBCtrls, StdCtrls, ExtCtrls, DBGrids, Buttons;

type

  { TFormProdutorCadastro }

  TFormProdutorCadastro = class(TForm)
    ButtonInserir: TBitBtn;
    ButtonExcluir: TBitBtn;
    ButtonAlterar: TBitBtn;
    ButtonCancelar: TBitBtn;
    ButtonSair: TBitBtn;
    ButtonSalvar: TBitBtn;
    ButtonBuscarMunicipio: TBitBtn;
    ButtonLocalizar: TBitBtn;
    DBEditIdMunicipio: TDBEdit;
    DBEditNomeMunicipio: TDBEdit;
    DBEditUF: TDBEdit;
    DBEditBairro: TDBEdit;
    DBEditCep: TDBEdit;
    DBEditCodigoProdutor: TDBEdit;
    DBEditEmailProdutor: TDBEdit;
    DBEditLogradouro: TDBEdit;
    DBEditNomeProdutor: TDBEdit;
    DBEditTelefoneProdutor: TDBEdit;
    DBNavigator2: TDBNavigator;
    GroupBox1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Panel1: TPanel;
    procedure ButtonAlterarClick(Sender: TObject);
    procedure ButtonBuscarMunicipioClick(Sender: TObject);
    procedure ButtonCancelarClick(Sender: TObject);
    procedure ButtonExcluirClick(Sender: TObject);
    procedure ButtonInserirClick(Sender: TObject);
    procedure ButtonLocalizarClick(Sender: TObject);
    procedure ButtonSairClick(Sender: TObject);
    procedure ButtonSalvarClick(Sender: TObject);
    procedure ButtonVerificarCadastroClick(Sender: TObject);
    procedure ControlaBotoes(Edicao: boolean);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  FormProdutorCadastro: TFormProdutorCadastro;

implementation

uses dmprincipal, dmcadastro;

{ TFormProdutorCadastro }

procedure TFormProdutorCadastro.ButtonVerificarCadastroClick(Sender: TObject);
begin
{   DataModulePrincipal.ZQueryConsulta.Close;
   DataModulePrincipal.ZQueryConsulta.SQL.Clear;
   DataModulePrincipal.ZQueryConsulta.SQL.Add('SELECT pro.nome_produtor AS nome');
   DataModulePrincipal.ZQueryConsulta.SQL.Add('FROM produtor AS pro');
   DataModulePrincipal.ZQueryConsulta.SQL.Add('WHERE pro.nome_produtor LIKE ' + QuotedStr('%'+ DBEditNomeProdutor.Text + '%'));
   DataModulePrincipal.ZQueryConsulta.Open;}
end;

procedure TFormProdutorCadastro.ControlaBotoes(Edicao: boolean);
begin
  if Edicao then
  begin
    ButtonSair.Enabled := False;
    ButtonAlterar.Enabled := False;
    ButtonExcluir.Enabled := False;
    ButtonLocalizar.Enabled := False;
    ButtonInserir.Enabled := False;
    ButtonSalvar.Enabled := True;
    ButtonCancelar.Enabled := True;
  end
  else
  begin
    ButtonSair.Enabled := True;
    ButtonLocalizar.Enabled := True;
    ButtonInserir.Enabled := True;
    ButtonSalvar.Enabled := False;
    ButtonCancelar.Enabled := False;
    if (DataCadastro.ZQueryProdutor.RecordCount > 0) then
    begin
      ButtonAlterar.Enabled := True;
      ButtonExcluir.Enabled := True;
    end;
  end;
end;

procedure TFormProdutorCadastro.ButtonBuscarMunicipioClick(Sender: TObject);
var
  municipio: TDadosMunicipio;
begin
  municipio := DataCadastro.MunicipioBusca();
  DBEditIdMunicipio.Text := IntToStr(municipio.id_municipio);
  DBEditNomeMunicipio.Text := municipio.nome_municipio;
  DBEditUF.Text := municipio.uf;
end;

procedure TFormProdutorCadastro.ButtonCancelarClick(Sender: TObject);
begin
  DataCadastro.ProdutorCancelar();
  ControlaBotoes(False);
end;

procedure TFormProdutorCadastro.ButtonAlterarClick(Sender: TObject);
begin
  DataCadastro.ProdutorEditar();
  ControlaBotoes(True);
end;

procedure TFormProdutorCadastro.ButtonExcluirClick(Sender: TObject);
begin
  if (MessageDlg('Confirmação', 'Deseja excluir o produtor cadastrado?',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
  begin
    DataCadastro.ProdutorExcluir();
    ControlaBotoes(False);
  end;
end;

procedure TFormProdutorCadastro.ButtonInserirClick(Sender: TObject);
begin
  DataCadastro.ProdutorInserir();
  ControlaBotoes(True);
end;

procedure TFormProdutorCadastro.ButtonLocalizarClick(Sender: TObject);
begin
  DataCadastro.ProdutorBusca();
  ControlaBotoes(False);
end;

procedure TFormProdutorCadastro.ButtonSairClick(Sender: TObject);
begin
  Close();
end;

procedure TFormProdutorCadastro.ButtonSalvarClick(Sender: TObject);
begin
  DataCadastro.ProdutorSalvar();
  ControlaBotoes(False);
end;

{ TFormProdutorCadastro }

initialization
  {$I fprodutorcadastro.lrs}

end.
